/**
 * 作者：
 * 创建时间：2012-10-11 下午2:24:10
 */
package dragon.modules.system.config.dao;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletContext;

import dragon.core.exception.ExceptionHandler;
import dragon.core.io.XMLHandler;
import dragon.core.util.FilePath;
import dragon.core.util.GlobalParameter;
import dragon.core.util.StringUtils;

/**
 * 实现功能：系统参数配置
 */
public class SysConfig {

	private static Map<String, String> parameters = new HashMap<String, String>();

	/**
	 * 加载参数
	 * 
	 * @throws ExceptionHandler
	 */
	public static void loadConfig(ServletContext servletContext) throws ExceptionHandler {
		parameters.clear();

		List<Map<String, Object>> list = XMLHandler.readXML(FilePath.webappxml, "param", null, false);
		for (Map<String, Object> m : list) {
			parameters.put(m.get("id").toString(), m.get("value").toString());
		}
		list = null;

		init(servletContext);
	}

	/**
	 * 获取配置参数
	 * 
	 * @param parameter
	 *            参数名
	 * @return
	 */
	public static String getParameter(String parameter) {
		return parameters.get(parameter);
	}

	/**
	 * 根据参数初始化
	 * 
	 * @param servletContext
	 * @throws ExceptionHandler
	 */
	private static void init(ServletContext servletContext) throws ExceptionHandler {
		// 网站名
		String param = getParameter("WebSiteName");
		if (StringUtils.isEmpty(param)) {
			param = "龙腾框架";
		}
		servletContext.setAttribute(GlobalParameter.WebSiteName, param);

		param = getParameter("Keywords");
		if (StringUtils.isEmpty(param)) {
			param = "Dragon,java,快速开发平台,java快速开发平台";
		}
		servletContext.setAttribute(GlobalParameter.Keywords, param);

		param = getParameter("Description");
		if (StringUtils.isEmpty(param)) {
			param = "Dragon 是一套用于快速构建 Java Web 应用的平台，通过该平台，仅需要配置xml文件就可以生成应用，可以减少60%代码量，有效提高编码效率。";
		}
		servletContext.setAttribute(GlobalParameter.Description, param);

		// 登录页面Logo
		param = getParameter("LoginLogo");
		if (StringUtils.isEmpty(param)) {
			param = "image/login-logo.jpg";
		}
		servletContext.setAttribute(GlobalParameter.LoginLogo, param);

		// 后台顶部Logo
		param = getParameter("ConsoleTopLogo");
		if (StringUtils.isEmpty(param)) {
			param = "image/console-top-logo.jpg";
		}
		servletContext.setAttribute(GlobalParameter.ConsoleTopLogo, param);

		// EasyUI版本
		param = getParameter("EasyUIRelease");
		if (StringUtils.isEmpty(param)) {
			param = "query-easyui-1.3";
		}
		servletContext.setAttribute(GlobalParameter.EasyUIRelease, param);

		// UI主题
		param = getParameter("Theme");
		if (StringUtils.isEmpty(param)) {
			param = "default";
		}
		servletContext.setAttribute(GlobalParameter.Theme, param);

		// kindeditor版本
		param = getParameter("KindeditorRelease");
		if (StringUtils.isEmpty(param)) {
			param = "kindeditor-4.0.6";
		}
		servletContext.setAttribute(GlobalParameter.KindeditorRelease, param);

	
	}

}
